The following relates generally to object recognition, and more specifically to compact models for object recognition.
Object recognition may refer to a field of computer vision for finding and identifying objects in an image or video sequence. As an example of object recognition, facial recognition may refer to a process used to identify or verify a person (e.g., from a digital image, a frame of a video clip, etc.) based on one or more facial features. Generally, facial features may be extracted from the image and compared with features stored in a database. Additionally or alternatively, the extracted facial features may be fed to a classifier, which may in turn generate an identity hypothesis based on the input features. Facial recognition may involve one or more steps including face detection, face tracking, facial landmark detection, face normalization, feature extraction, identification/verification, or a combination thereof. In some cases, facial recognition may be based at least in part on processing the digital image or video frame using a convolutional neural network (CNN).
Generally, a CNN may refer to a class of feed-forward artificial neural networks in which the connectivity pattern between nodes of the neural network resembles that of neurons in various biological processes. CNNs for facial recognition may be computationally complex, utilizing large amounts of memory, processing, power, time, etc. There currently exist a variety of portable computing devices, such as portable wireless telephones, personal digital assistants (PDAs), laptop computers, tablet personal computers, eBook viewers, and the like. More specifically, some of these devices may include digital imaging sensors for taking photos (and video) as well as components for communicating voice and data packets over wired or wireless networks (e.g., for downloading videos and images). Such devices may benefit from improved facial recognition techniques (e.g., to reduce memory requirements, processing load, power consumption, time, etc.).